From f07b5ad9162f6e086b8e978986ec923664cbd1e1 Mon Sep 17 00:00:00 2001 From: Steven Hand Date: Thu, 24 Aug 2006 16:25:49 +0100 Subject: [PATCH] Remove redundant performance counters. Signed-off-by: Steven Hand --- xen/arch/x86/mm.c | 1 - xen/common/multicall.c | 1 - xen/include/asm-x86/perfc_defn.h | 118 +------------------------------ xen/include/xen/perfc_defn.h | 1 - 4 files changed, 3 insertions(+), 118 deletions(-) diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c index bb2a81c008..b688bd90f2 100644 --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -2264,7 +2264,6 @@ int do_mmu_update( perfc_incrc(calls_to_mmu_update); perfc_addc(num_page_updates, count); - perfc_incr_histo(bpt_updates, count, PT_UPDATES); if ( unlikely(!guest_handle_okay(ureqs, count)) ) { diff --git a/xen/common/multicall.c b/xen/common/multicall.c index f55926ce8c..7ba43ebd64 100644 --- a/xen/common/multicall.c +++ b/xen/common/multicall.c @@ -6,7 +6,6 @@ #include #include #include -#include #include #include #include diff --git a/xen/include/asm-x86/perfc_defn.h b/xen/include/asm-x86/perfc_defn.h index d6e24b207d..ae6e3d2b9b 100644 --- a/xen/include/asm-x86/perfc_defn.h +++ b/xen/include/asm-x86/perfc_defn.h @@ -2,27 +2,6 @@ /*#ifndef __XEN_PERFC_DEFN_H__*/ /*#define __XEN_PERFC_DEFN_H__*/ -#define PERFC_MAX_PT_UPDATES 64 -#define PERFC_PT_UPDATES_BUCKET_SIZE 3 -PERFCOUNTER_ARRAY(wpt_updates, "writable pt updates", - PERFC_MAX_PT_UPDATES) -PERFCOUNTER_ARRAY(bpt_updates, "batched pt updates", - PERFC_MAX_PT_UPDATES) -PERFCOUNTER_ARRAY(l1_entries_checked, "l1 entries checked", - PERFC_MAX_PT_UPDATES) -PERFCOUNTER_ARRAY(shm_l2_updates, "shadow mode L2 pt updates", - PERFC_MAX_PT_UPDATES) -PERFCOUNTER_ARRAY(shm_hl2_updates, "shadow mode HL2 pt updates", - PERFC_MAX_PT_UPDATES) -#if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE) -PERFCOUNTER_ARRAY(shm_l3_updates, "shadow mode L3 pt updates", - PERFC_MAX_PT_UPDATES) -PERFCOUNTER_ARRAY(shm_l4_updates, "shadow mode L4 pt updates", - PERFC_MAX_PT_UPDATES) -#endif -PERFCOUNTER_ARRAY(snapshot_copies, "entries copied per snapshot", - PERFC_MAX_PT_UPDATES) - PERFCOUNTER_ARRAY(exceptions, "exceptions", 32) #define VMX_PERF_EXIT_REASON_SIZE 44 @@ -36,7 +15,6 @@ PERFCOUNTER_ARRAY(svmexits, "SVMexits", SVM_PERF_EXIT_REASON_SIZE) PERFCOUNTER_CPU(seg_fixups, "segmentation fixups") PERFCOUNTER_CPU(apic_timer, "apic timer interrupts") -PERFCOUNTER_CPU(timer_max, "timer max error (ns)") PERFCOUNTER_CPU(domain_page_tlb_flush, "domain page tlb flushes") @@ -46,107 +24,17 @@ PERFCOUNTER_CPU(calls_to_update_va, "calls_to_update_va_map") PERFCOUNTER_CPU(page_faults, "page faults") PERFCOUNTER_CPU(copy_user_faults, "copy_user faults") -PERFCOUNTER_CPU(shadow_fault_calls, "calls to shadow_fault") -PERFCOUNTER_CPU(shadow_fault_bail_pde_not_present, - "sf bailed due to pde not present") -PERFCOUNTER_CPU(shadow_fault_bail_pte_not_present, - "sf bailed due to pte not present") -PERFCOUNTER_CPU(shadow_fault_bail_ro_mapping, - "sf bailed due to a ro mapping") -PERFCOUNTER_CPU(shadow_fault_fixed, "sf fixed the pgfault") -PERFCOUNTER_CPU(write_fault_bail, "sf bailed due to write_fault") -PERFCOUNTER_CPU(read_fault_bail, "sf bailed due to read_fault") - PERFCOUNTER_CPU(map_domain_page_count, "map_domain_page count") PERFCOUNTER_CPU(ptwr_emulations, "writable pt emulations") -#if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE) -PERFCOUNTER_CPU(shadow_l4_table_count, "shadow_l4_table count") -PERFCOUNTER_CPU(shadow_l3_table_count, "shadow_l3_table count") -#endif -PERFCOUNTER_CPU(shadow_l2_table_count, "shadow_l2_table count") -PERFCOUNTER_CPU(shadow_l1_table_count, "shadow_l1_table count") -PERFCOUNTER_CPU(unshadow_table_count, "unshadow_table count") -PERFCOUNTER_CPU(shadow_fixup_count, "shadow_fixup count") -PERFCOUNTER_CPU(shadow_update_va_fail1, "shadow_update_va_fail1") -PERFCOUNTER_CPU(shadow_update_va_fail2, "shadow_update_va_fail2") - -/* STATUS counters do not reset when 'P' is hit */ -#if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE) -PERFSTATUS(shadow_l4_pages, "current # shadow L4 pages") -PERFSTATUS(shadow_l3_pages, "current # shadow L3 pages") -#endif -PERFSTATUS(shadow_l2_pages, "current # shadow L2 pages") -PERFSTATUS(shadow_l1_pages, "current # shadow L1 pages") -PERFSTATUS(hl2_table_pages, "current # hl2 pages") -PERFSTATUS(snapshot_pages, "current # fshadow snapshot pages") -PERFSTATUS(writable_pte_predictions, "# writable pte predictions") -PERFSTATUS(free_l1_pages, "current # free shadow L1 pages") - -PERFCOUNTER_CPU(check_pagetable, "calls to check_pagetable") -PERFCOUNTER_CPU(check_all_pagetables, "calls to check_all_pagetables") - -PERFCOUNTER_CPU(shadow_hl2_table_count, "shadow_hl2_table count") -PERFCOUNTER_CPU(shadow_set_l1e_force_map, "shadow_set_l1e forced to map l1") -PERFCOUNTER_CPU(shadow_set_l1e_unlinked, "shadow_set_l1e found unlinked l1") -PERFCOUNTER_CPU(shadow_set_l1e_fail, "shadow_set_l1e failed (no sl1)") -#if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE) -PERFCOUNTER_CPU(shadow_set_l2e_force_map, "shadow_set_l2e forced to map l2") -PERFCOUNTER_CPU(shadow_set_l3e_force_map, "shadow_set_l3e forced to map l3") -#endif -PERFCOUNTER_CPU(shadow_invlpg_faults, "shadow_invlpg's get_user faulted") -PERFCOUNTER_CPU(unshadow_l2_count, "unpinned L2 count") - -PERFCOUNTER_CPU(shadow_status_shortcut, "fastpath miss on shadow cache") -PERFCOUNTER_CPU(shadow_status_calls, "calls to shadow_status") -PERFCOUNTER_CPU(shadow_status_miss, "missed shadow cache") -PERFCOUNTER_CPU(shadow_status_hit_head, "hits on head of bucket") -PERFCOUNTER_CPU(shadow_max_type, "calls to shadow_max_type") - -PERFCOUNTER_CPU(shadow_sync_all, "calls to shadow_sync_all") -PERFCOUNTER_CPU(shadow_sync_va, "calls to shadow_sync_va") -PERFCOUNTER_CPU(resync_l1, "resync L1 page") -PERFCOUNTER_CPU(resync_l2, "resync L2 page") -#if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE) -PERFCOUNTER_CPU(resync_l3, "resync L3 page") -PERFCOUNTER_CPU(resync_l4, "resync L4 page") -#endif -PERFCOUNTER_CPU(resync_hl2, "resync HL2 page") -PERFCOUNTER_CPU(shadow_make_snapshot, "snapshots created") -PERFCOUNTER_CPU(shadow_mark_mfn_out_of_sync_calls, - "calls to shadow_mk_out_of_sync") -PERFCOUNTER_CPU(shadow_out_of_sync_calls, "calls to shadow_out_of_sync") -PERFCOUNTER_CPU(snapshot_entry_matches_calls, "calls to ss_entry_matches") -PERFCOUNTER_CPU(snapshot_entry_matches_true, "ss_entry_matches returns true") - -PERFCOUNTER_CPU(validate_pte_calls, "calls to validate_pte_change") -PERFCOUNTER_CPU(validate_pte_changes1, "validate_pte makes changes1") -PERFCOUNTER_CPU(validate_pte_changes2, "validate_pte makes changes2") -PERFCOUNTER_CPU(validate_pte_changes3, "validate_pte makes changes3") -PERFCOUNTER_CPU(validate_pte_changes4, "validate_pte makes changes4") -PERFCOUNTER_CPU(validate_pde_calls, "calls to validate_pde_change") -PERFCOUNTER_CPU(validate_pde_changes, "validate_pde makes changes") -PERFCOUNTER_CPU(shadow_get_page_fail, "shadow_get_page_from_l1e fails") -PERFCOUNTER_CPU(validate_hl2e_calls, "calls to validate_hl2e_change") -PERFCOUNTER_CPU(validate_hl2e_changes, "validate_hl2e makes changes") -#if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE) -PERFCOUNTER_CPU(validate_entry_changes, "validate_entry changes") -#endif PERFCOUNTER_CPU(exception_fixed, "pre-exception fixed") -PERFCOUNTER_CPU(get_mfn_from_gpfn_foreign, "calls to get_mfn_from_gpfn_foreign") -PERFCOUNTER_CPU(remove_all_access, "calls to remove_all_access") -PERFCOUNTER_CPU(remove_write_access, "calls to remove_write_access") -PERFCOUNTER_CPU(remove_write_access_easy, "easy outs of remove_write_access") -PERFCOUNTER_CPU(remove_write_no_work, "no work in remove_write_access") -PERFCOUNTER_CPU(remove_write_not_writable, "remove_write non-writable page") -PERFCOUNTER_CPU(remove_write_fast_exit, "remove_write hit predicted entry") -PERFCOUNTER_CPU(remove_write_predicted, "remove_write predict hit&exit") -PERFCOUNTER_CPU(remove_write_bad_prediction, "remove_write bad prediction") -PERFCOUNTER_CPU(update_hl2e_invlpg, "update_hl2e calls invlpg") + /* Shadow2 counters */ PERFCOUNTER_CPU(shadow2_alloc, "calls to shadow2_alloc") PERFCOUNTER_CPU(shadow2_alloc_tlbflush, "shadow2_alloc flushed TLBs") + +/* STATUS counters do not reset when 'P' is hit */ PERFSTATUS(shadow2_alloc_count, "number of shadow pages in use") PERFCOUNTER_CPU(shadow2_free, "calls to shadow2_free") PERFCOUNTER_CPU(shadow2_prealloc_1, "shadow2 recycles old shadows") diff --git a/xen/include/xen/perfc_defn.h b/xen/include/xen/perfc_defn.h index 8954d08caf..de951f352e 100644 --- a/xen/include/xen/perfc_defn.h +++ b/xen/include/xen/perfc_defn.h @@ -8,7 +8,6 @@ PERFCOUNTER_ARRAY(hypercalls, "hypercalls", NR_hypercalls) PERFCOUNTER_CPU(irqs, "#interrupts") PERFCOUNTER_CPU(ipis, "#IPIs") -PERFCOUNTER_CPU(irq_time, "cycles spent in irq handler") PERFCOUNTER_CPU(sched_irq, "sched: timer") PERFCOUNTER_CPU(sched_run, "sched: runs through scheduler") -- 2.30.2